package ru.compft.common.data;

import ru.compft.common.data.meta.RoleToPermissionTableMeta;

import javax.persistence.*;
import java.io.Serializable;

/**
 * User: VVasiliev
 * Date: 08.06.12
 * Time: 16:20
 * * Класс представляющий объект "Соответствие ролей и прав доступа"
 */
@Entity
@Table(name = RoleToPermissionTableMeta.TABLE_NAME)
public class AppRoleToPermission implements Serializable {
    private static final long serialVersionUID = -995375112126567957L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = RoleToPermissionTableMeta.ID, unique = true, nullable = false)
    private Long id;

    @Column(name = RoleToPermissionTableMeta.ROLE_ID, nullable = false)
    private Long roleId; // Id роли

    @Column(name = RoleToPermissionTableMeta.PERMISSION_ID, nullable = false)
    private Long permissionId; // Id права доступа

    public AppRoleToPermission() {
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getRoleId() {
        return roleId;
    }

    public void setRoleId(Long roleId) {
        this.roleId = roleId;
    }

    public Long getPermissionId() {
        return permissionId;
    }

    public void setPermissionId(Long permissionId) {
        this.permissionId = permissionId;
    }

    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder();
        sb.append("AppRoleToPermission");
        sb.append("{id=").append(id);
        sb.append(", roleId=").append(roleId);
        sb.append(", permissionId=").append(permissionId);
        sb.append('}');
        return sb.toString();
    }
}
